<?php
/**
 * Created by PhpStorm.
 * User: songs
 * Date: 2020/7/18
 * Time: 8:56
 */

namespace app\models;
use app\components\API;
use Yii;

class BaseUserModel extends \yii\db\ActiveRecord
{
    /**
     * 获取该模块用户的信息
    */
    public static function getInfo($select=[],$where=[],$isjson=true){
        $find=self::find()->where([
            'uid'=>Yii::$app->user->getId()
        ]);
        if($select!==[]){
            $find->select($select);
        }
        if($where!==[]){
            $find->andWhere($where);
        }
        $one=$find->one();
        if(!$one){
            if($select!==[]&&$isjson){
                $list=[];
                foreach($select as $v){
                    $list[$v]=null;
                }
                return $list;
            }
            return null;
        }
        if($isjson)
            return $find->one()->toArray();
        else
            return $find->one();
    }
    /**
     * 修改用户改模块的信息
    */
    public static function setInfo($select=[],$infoarray=[],&$error=null){
        $one=self::find()->where([
            'uid'=>Yii::$app->user->getId()
        ])->one();
        if(!$one){
            $class=get_called_class();
            $one=new $class;
            $one->time=time();
            $one->uid=Yii::$app->user->getId();
           // var_dump($class,$one);exit;
        }
        foreach ($select as $k){
            $one[$k]=$infoarray[$k]??'';
        }
        if($one->save()!==false){
            return true;
        }else{
            if(!$error){
                API::echo_json(1,API::tostr($one->getErrors()));
            }else{
                $error=API::tostr($one->getErrors());
            }
            return false;
        }
    }



    /**
     * qiuzhiyixiangType 求职意向类型,'gs'表示公司员工，'gc'表示工厂员工
    */
    const qiuzhiyixiangType_GS=1;
    /**
     * gc'表示工厂员工
    */
    const qiuzhiyixiangType_GC=2;


    /**
     * 101表示公司;102表示工厂;103表示个人应聘
    */
    const user_type_gongsi=101;
    const user_type_gongchang=102;
    const user_type_geren=103;


    /**
     * 性别 男
     */
    const Sex_Nan=1;
    /**
     * 性别 女
     */
    const Sex_Nv=2;
    /**
     * 性别 不限
     */
    const Sex_buxian=3;


}